package orz.mikeneck.server.locrec.model;

import java.util.List;

import javax.jdo.PersistenceManager;
import javax.jdo.Query;

import orz.mikeneck.server.locrec.exception.LocRecUserNotFoundException;
import orz.mikeneck.server.locrec.persistent.LocRecUser;

public interface LocRecUserModel {

	public static String FILTER = "email == pEmail";

	public static String PARAMS = "String pEmail";

	public static String COUNT = "count(this)";

	public static String ORDER = "createdAt";

	public LocRecUserModel emailIs(String email);

	public LocRecUserModel persistenceManagerIs(PersistenceManager manager);

	public LocRecUserModel createSearchQuery();

	public List<LocRecUser> findLocRecUser() throws LocRecUserNotFoundException;

	public LocRecUser getLocRecUser() throws LocRecUserNotFoundException;

	public Query createDefaultQuery();

	public LocRecUserModel createCountQuery();

	public int getUserCount();

	public boolean isUserExisting();

	public Query createBaseQuery();

	public Query createAdminQuery();
}
